package com.itheima.mathDemo;

import java.util.ArrayList;

/**
 * 寻找自幂数
 */
public class MathDemo2 {
    public static void main(String[] args) {
        ArrayList<Double> ans = help(3);

        if(ans.get(0) >= 1.0) {
            System.out.println("总个数" + ans.get(0));
//            System.out.println(ans.size() - 1);
            for (int i = 1; i < ans.size(); i++) {
                System.out.println(ans.get(i));
            }
        } else if(ans.get(0) == 0.0){
            System.out.println("None");
        }
    }

    public static ArrayList<Double> help(int len) {
        ArrayList<Double> ans = new ArrayList<>();
        // 逆序数组
        int[] tmp = new int[len];

        for (int i = (int) Math.pow(10, len - 1); i <= (int) Math.pow(10, len) - 1; i++) {
            int i_ = i;
            for (int j = 0; j < len; j++) {
                tmp[j] = i_ % 10;
                i_ /= 10;
            }

            double sum = 0;
            for (int j = 0; j < len; j++){
                sum += Math.pow(tmp[j], len);
            }

            if (sum == i){
                if(ans.isEmpty()){
                    ans.add((double) 0);
                }
                ans.set(0, ans.get(0) + 1);
                ans.add((double) i);
            }
        }
        if(ans.isEmpty()){
            ans.add((double) 0);
        }
        return ans;
    }
}
